perm filename PORT.NOT[P,JRA] blob sn#547798 filedate 1980-12-01 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\.
C00006 00003	***interlisp***
C00008 ENDMK
CāŠ—;
\.
interlisp vm
  from 10 to alto 
   ~3-5 people
   impl.:late 74-mid 75  (18 mo)
   tune: early 77 (18 mo)
   moore vm: 6man/mon

  from alto to dorado
   ~3-5 people 
   end of alto to early 1980

status:well-defined VM for underlying machine of 22-bits pointer, 16-bit
       words. work continues to make true vm.
	best vm so far

BBN/jericho

prime

----------------------
vlisp

status: vcmc2 is well-defined VM for VLISP, but nowhere complete enough
        for large lisp definition. no i/o, gc, virtual mem., non-stack runtime


language concerns; no closures, some w.o. arrays,
impl;		fixed allocation, poor strings, no funargs (stack allocation)

features; interpreted and compiled tail-recursion optimization
		well-defined vm

----------------------
standard lisp

status:	a p-code based portable lisp effort, generating lisp of a wide
	variety of targeet machines (griss expressed disappointment at 
	the speed of resulting versions of 11 and z-80) probably the
	most well-developed porting effort

	major problem is a weak view of lisp  described as Standard LISP

--------------------------------------------
nil

status: sorta up on vax; portability has taken a backseat for time ( nu and 20/80
	are possible targets); no "real vm";  no real measurement system.
	hwever, serious attempt is being made to make NIL, LM, and MACLISP all
	compatible.

	claim to be possible to generated mu-code for lm

----------------------
lisp m

status: running system, but totally ad-hoc VM (12-16K mu-code)
	began 1975 really up 1978, still hacking.
	qcp1-2 compile to macro code or maclisp

-----------------------
scheme internals

status: interesting internal data representation (list-structure); no i/o
	vlsi gc and v mem., non-stack run-time through data rep.
----------------------
contour model (pretty far out, but ... why not)

status: ??
--------------------------------------------
lil stuff?
--------------------------------------------
lisp standards group
????
--------------------------------------------
PQCC applicability
***interlisp***
as language  ...not implementation
 problem areas
	spaghetti, 
	arithmetic
	jsys (page mapping)
	i/o
	function/simple value
	static/dynamic


***maclisp ****
include LM and NIL   as langguages  (nothing about implementations)
 problem areas
	arithmetic
	stack groups, closures
	packages
	i/o (windows readtables, etc)
	function/simple value
	static/dynamic

summarize good points of each dialect


We have chosen the MacLISP family as the  surface language.
why....

each language has machine dependent parts: i/o particularly troublesome

instance of general case of language feature; d.s packs

Now address the VM issuses

why	portable

	modifiable
	
detail	spec

	implem

	instrumentaion


what has been done
	catalog
	
what should not be included in vm
	i/o lower than {windows, ?}

what should be included in vm
	run-time
	  gc
	  ops
	retargetable compiler
	

what this will accomplish.


time table


what next.